﻿using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Do_an_C_sharp.DAL;
using Do_an_C_sharp.BLL;
using System;

namespace Do_an_C_sharp.GUI
{
    public partial class KhachHangGUI : Form
    {
        KhachHangController KHACHHANG = new KhachHangController();
        public KhachHangGUI()
        {
            InitializeComponent();
        }

        public bool checkinfo()
        {
            if(txtDienthoai.Text!="")
                if (txtDienthoai.Text.Length > 11 || txtDienthoai.Text.Length < 9)
                {
                    MessageBox.Show("Điện thoại phải dài từ 9 đến 11 số!!!!");
                    return false;
                }
            if (txtDiachi.Text == "" || txtMakhach.Text == "" || txtTenkhach.Text == "")
            {
                MessageBox.Show("Mã khách hàng,tên khách và địa chỉ không được bỏ trống!!!!!");
                return false;
            }
            return true;
        }

        private void capnhat()
        {
            KHACHHANG.luu();
            dataGridView1.DataSource = KHACHHANG.laykhach();
        }
        private void KhachHang_Load(object sender, EventArgs e)
        {
            capnhat();
            txtMakhach.Enabled = false;
        }

        private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            int dong = e.RowIndex;
            string ma = dataGridView1.Rows[dong].Cells["MAKHACHHANG"].Value.ToString();
            KhachHang nv = KHACHHANG.timelement(ma);
            txtDiachi.Text = nv.DIACHI;
            txtDienthoai.Text = nv.DIENTHOAI;
            txtEmail.Text = nv.EMAIL;
            txtMakhach.Text = nv.MAKHACHHANG;
            txtTenkhach.Text = nv.TENKHACHHANG;
        }

        private void btnReload_Click(object sender, EventArgs e)
        {
            disable(true);
            capnhat();
            btnThem.Text = "Thêm";
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnTimkiem_Click(object sender, EventArgs e)
        {
            string key = uCtimkiem1.tratri();
            if (uCtimkiem1.isTimtheoma())
            {
                if (KHACHHANG.timelement(key) != null)
                {
                    dataGridView1.DataSource = KHACHHANG.timma(key);
                }
                else
                    MessageBox.Show("Không tìm thấy");
            }
            else
            {
                dataGridView1.DataSource = KHACHHANG.timten(key);
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            if (btnThem.Text == "Thêm")
            {
                txtMakhach.Enabled = true;
                txtMakhach.Text = txtDiachi.Text = txtDienthoai.Text = txtEmail.Text = txtTenkhach.Text = "";
                btnThem.Text = "Cập nhật";
                disable(false);
            }
            else
            {
                if (KHACHHANG.timelement(txtMakhach.Text.Trim()) != null)
                {
                    MessageBox.Show("Khách hàng này đã tồn tại");
                }
                else
                {
                    if (checkinfo())
                    {
                        KHACHHANG.them(txtMakhach.Text.Trim(), txtTenkhach.Text, txtDiachi.Text, txtDienthoai.Text, txtEmail.Text);
                        txtMakhach.Enabled = false;
                        MessageBox.Show("Thêm thành công");
                        capnhat();
                        btnThem.Text = "Thêm";
                        disable(true);
                    }
                }
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult kt;
            if ((kt = MessageBox.Show("Bạn chắc chắn muốn xóa nhân viên này?", "Xác nhận", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) == DialogResult.OK)
            {
                KHACHHANG.xoa(txtMakhach.Text.Trim());
                capnhat();
            }
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            if (checkinfo())
            {
                if (KHACHHANG.sua(txtMakhach.Text, txtTenkhach.Text, txtDiachi.Text, txtDienthoai.Text, txtEmail.Text))
                {
                    MessageBox.Show("Sửa thành công");
                    capnhat();
                }
                else
                    MessageBox.Show("Thất bại vì lỗi update sql");
            }
        }
        private void disable(bool check)
        {
            btnTimkiem.Enabled = btnXoa.Enabled = btnSua.Enabled = check;
        }

        private void txtDienthoai_KeyPress(object sender, KeyPressEventArgs e)
        {
            char c = e.KeyChar;
            if (!char.IsDigit(c))
                if (c != '\b')
                    e.Handled = true;
        }

        private void txtMakhach_Click(object sender, EventArgs e)
        {
            TextBox t = (TextBox)sender;
            t.SelectAll();
        }
    }
}
